// Các đối tượng có thể cheat là các .smartbox bên trong #tbl

// onclick="VisitThisPage('623', '10','http://bentbrainmusic.com','BentBrain Music Home','7963');"/>
/*
Gửi AJAX giả để cheat
 $.ajax({
 type: "POST",
 url: "wreceive.php",
 data: "data=" + mysite1 + "---" + '93198' + "---" + mysiteT + "---" + userowner1,
 cache: false
 });

 mysite1: id của site (0: 623)
 mysiteT: site title (3: BentBrain Music Home)
 userowner1: (4: 7963)

 ### vẫn còn nghi vấn ở số 93198

 $.post("wreceive.php", { data: "873---93198---DOA RN---7963" }, function (res) { console.log(res) });
 */


$(function () {
    window["cheater"] = function (p) {
        var $tbl = $("#tbl"),
            functionCallPattern = /"VisitThisPage\('([^']+)',\s*'[^']+',\s*'[^']+',\s*'([^']+)',\s*'([^']+)'\);"/i,
            $smartBoxes = $("div.smartbox", $tbl),
            sbTotal = $smartBoxes.length;

        if (sbTotal == 0) {
            p.complete();
            return;
        }

        var processThisPage = (function () {
            var numPage = 0,
                numSend = 0,
                ajaxUrl = "wreceive.php";

            return function(params) {
                p.msg("Sending ..." + ++numSend + "/" + sbTotal);
                $.post(ajaxUrl, {
                    data: params[1] + "---" + p.userId + "---" + params[2] + "---" + params[3]
                }, function () {
                    numPage++;
                    p.msg("Cheated " + numPage + "/" + sbTotal + " items(s)!");

                    // Nếu số lượng trang đã gửi thành công bằng tổng số trang thì reload lại trang
                    if (numPage >= sbTotal) {
                        p.reload();
                    }
                });
            };
        }());

        // Tìm tất cả các lời gọi hàm VisitThisPage hợp lệ
        $smartBoxes.each(function () {
            var match = functionCallPattern.exec($(this).html());
            if (match) {
                processThisPage(match);
            } else {
                console.log("website err, html:");
                console.log($(this).html());
                // Không thể xử lý được smartbox này, trừ tổng số để bỏ qua
                sbTotal--;
            }
        });
    };
});
